home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / monster.g < prev    next >
Text File  |  1998-05-22  |  5KB  |  196 lines

  1. (game-module "monster"
  2.   (title "Monster")
  3.   (blurb "base module for monsters stomping on cities")
  4.   )
  5.  
  6. ;;; Reliving those old movies...
  7.  
  8. (set see-all true)
  9.  
  10. (unit-type monster (image-name "monster") (char "M")
  11.   (point-value 100)
  12.   (help "breathes fire and stomps on buildings"))
  13. (unit-type mob (name "panic-stricken mob") (image-name "horde") (char "m")
  14.   (help "helpless civilians"))
  15. (unit-type |fire department| (image-name "firetruck") (char "f")
  16.   (help "puts out fires"))
  17. (unit-type |national guard| (image-name "soldiers") (char "g")
  18.   (help "does battle with the monster"))
  19. (unit-type building (image-name "city20-intact") (char "b")
  20.   (point-value 1)
  21.   (help "good for hiding, but crushed by monster"))
  22. (unit-type |burning building| (image-name "city20-burning") (char "B")
  23.   (point-value 1)
  24.   (help ""))
  25. (unit-type |wrecked building| (image-name "city20-wrecked") (char "W")
  26.   (point-value 0)
  27.   (help ""))
  28. (unit-type |rubble pile| (image-name "city20-rubble") (char "r")
  29.   (point-value 0)
  30.   (help ""))
  31.  
  32. (define firedept |fire department|)
  33. (define guard |national guard|)
  34. (define BB |burning building|)
  35. (define WB |wrecked building|)
  36. (define R |rubble pile|)
  37.  
  38. (terrain-type sea (char "."))
  39. (terrain-type beach (image-name "desert") (char ","))
  40. (terrain-type street (image-name "road") (char "+"))
  41. (terrain-type block (image-name "sienna") (char "-"))
  42. (terrain-type fields (image-name "plains") (char "="))
  43. (terrain-type trees (image-name "forest") (char "%"))
  44.  
  45. (define movers (monster mob firedept guard))
  46. (define water (sea))
  47. (define land (beach street block fields trees))
  48.  
  49. (add sea liquid true)
  50.  
  51. (add (monster) possible-sides "monster")
  52. (add (mob firedept guard building) possible-sides "human")
  53.  
  54. ;;; Static relationships.
  55.  
  56. (table unit-capacity-x
  57.   ((building BB WB R) guard 1)
  58.   ;; They can start in a building, but cannot re-enter.
  59.   ((mob firedept) building 1)
  60.   )
  61.  
  62. (table vanishes-on
  63.   (u* water true)
  64.   ;; Godzilla can go in the water.
  65.   (monster water false)
  66.   ;; Fire trucks and mobs can only go along the streets.
  67.   ((mob firedept) t* true)
  68.   ((mob firedept) street false)
  69.   )
  70.  
  71. ;;; Actions.
  72.  
  73. (add movers acp-per-turn (2 1 2 2))
  74.  
  75. (table mp-to-enter-terrain
  76.   (u* water 99)
  77.   (monster water 0)
  78.   ;; Fire trucks and mobs can only go along the streets.
  79.   ((mob firedept) t* 99)
  80.   ((mob firedept) street 0)
  81.   )
  82.  
  83. (table mp-to-enter-unit
  84.   (u* u* 99)
  85.   ;; The national guard can go through city blocks to get somewhere.
  86.   (guard (building WB R) 1)
  87.   )
  88.  
  89. (table acp-to-repair
  90.   (firedept BB 1)
  91.   )
  92.  
  93. (table hp-per-repair
  94.   (firedept BB 150)
  95.   )
  96.  
  97. ;;; Combat.
  98.  
  99. ;;                M m f g b B W r
  100. (add u* hp-max (100 1 2 5 6 6 6 1))
  101.  
  102. (table hit-chance
  103.   (u* u* 0)
  104.   ;;              M   m   f   g   b   B   W   r
  105.   (monster  u* ( 50  50  50  50 100  90  80   0))
  106.   (firedept u* (  0   0   0   0   0  50  30   0))
  107.   (guard    u* ( 80   0   0   0  50  30  30   0))
  108.   (building u* ( 10   0   0   0   0   0   0   0))
  109.   )
  110.  
  111. (table damage
  112.   (u* u* 1)
  113.   ;; Monster takes longer to damage already-damaged buildings.
  114.   (monster building 3)
  115.   (monster BB 2)
  116.   (monster WB 1)
  117.   (firedept (building BB WB) 2)
  118.   (guard monster 4)
  119.   ;; Rubble piles are pretty much indestructible.
  120.   (u* |rubble pile| 0)
  121.   )
  122.  
  123. (add monster acp-to-fire 1)
  124.  
  125. (add monster range 2)
  126.  
  127. (add building wrecked-type BB)
  128.  
  129. (add BB wrecked-type WB)
  130.  
  131. (add WB wrecked-type R)
  132.  
  133. (add BB hp-per-detonation 4)
  134.  
  135. (table detonation-unit-range
  136.   (BB u* 2)
  137.   )
  138.  
  139. (table detonation-damage-at
  140.   (BB u* 6)
  141.   (BB R 0)
  142.   )
  143.  
  144. (table detonation-damage-adjacent
  145.   (BB u* 6)
  146.   (BB R 0)
  147.   )
  148.  
  149. (table detonation-accident-chance
  150.   (BB t* 10.00)
  151.   )
  152.  
  153. (set action-notices '(
  154.   ((destroy u* M) (actor " kills " actee "!"))
  155.   ((destroy u* mob) (actor " massacres " actee "!"))
  156.   ((destroy u* b) (actor " sets " actee " on fire!"))
  157.   ((destroy u* BB) (actor " wrecks " actee "!"))
  158.   ))
  159.  
  160. (add monster namer "monster-names")
  161.  
  162. (namer monster-names (random
  163.   "Godzilla" "Rodan" "Mothra" "Megalon" "Gajira" "Aspidra"
  164.   "Reptilicus" "Gamera"
  165.   ))
  166.  
  167. ;;; Random setup, for testing.
  168.  
  169. (add t* alt-percentile-min (  0  20  25  35  80  90 ))
  170. (add t* alt-percentile-max ( 20  25  35  80  90 100 ))
  171. (add t* wet-percentile-min 0)
  172. (add t* wet-percentile-max 100)
  173.  
  174. (set country-radius-min 5)
  175.  
  176. (add u* start-with (1 10 3 3 10 0 0 0))
  177.  
  178. (table favored-terrain
  179.   (u* sea 0)
  180.   )
  181.  
  182. (game-module (notes (
  183.   "Typically, one would set up a scenario with one or more monsters on"
  184.   "one side, and mobs, fire departments, and national guards on the"
  185.   "other.  Note"
  186.   "that the monster can easily defeat national guards one after another,"
  187.   "and that the most successful strategy for the human side is to"
  188.   "attack the monster with several units at once.  The monster can use"
  189.   "fires as a barricade to keep the national guards from getting close"
  190.   "enough to attack.  Destroying buildings is fun but not very useful."
  191.   ""
  192.   "Sandra Loosemore (sandra@cs.utah.edu) is the person to blame for this"
  193.   "piece of silliness (well, Stan aided and abetted)."
  194. )))
  195.  
  196.